Case-Based
Reasoning
Learning by
Recording
Cases
Case-Based
Reasoning
Analogical
Reasoning
Explanation-
Based
Learning
Analogical Reasoning
Lesson Preview
Need for case-based reasoning
Case adaptation, evaluation, and storage
Case retrieval revisited
Advanced case-based reasoning
?
What color is this block?
Orange
Block World
Blue
Orange
Purple
Black
Green
Red
What color is this block?
Block World
Blue
Orange
Purple
Black
Green
Red
D
Q
Retrieval
Adaptation
Retrieving a case
from memory
similar to the
current problem
Adapting the
solution to that case
to fit the current
problem
Evaluation
Evaluating how well
the adapted solution
addresses the
current problem
Storage
Storing the new
problem and
solution as a case
Assumptions of Case-Based
Reasoning
Patterns exist in the world
Similar problems have
similar solutions
Assumptions of Case-Based
Reasoning
Patterns exist in the world
Similar problems have
similar solutions
Retrieval
Adaptation
Retrieving a case
from memory
similar to the
current problem
Adapting the
solution to that case
to fit the current
problem
Evaluation
Evaluating how well
the adapted solution
addresses the
current problem
Storage
Storing the new
problem and
solution as a case
Office
Restaurant
Office
Doctor
Restaurant
Office
Doctor
Restaurant
Office
Restaurant
Home
Restaurant
Home
Restaurant
Office
Home
Restaurant
Office
Home
Restaurant
Home
Restaurant
Home
Restaurant
Retrieval
Adaptation
Retrieving a case
from memory
similar to the
current problem
Adapting the
solution to that case
to fit the current
problem
Evaluation
Evaluating how well
the adapted solution
addresses the
current problem
Storage
Storing the new
problem and
solution as a case
Home
Restaurant
Home
Restaurant
Retrieval
Adaptation
Retrieving a case
from memory
similar to the
current problem
Adapting the
solution to that case
to fit the current
problem
Evaluation
Evaluating how well
the adapted solution
addresses the
current problem
Storage
Storing the new
problem and
solution as a case
X
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
A
B
C
D
Is the origin
North of 5
N
?
East
of 5
E
?
East
of 5
E
?
A
B
C
D
Yes No
Yes
YesNo
No
X
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
C
D
Is the origin
North of 5
N
?
East
of 5
E
?
East
of 5
E
?
A
B
C
D
Yes No
Yes
Yes
No
No
X
A
B
Is the origin
North of 5
N
?
East
of 5
E
?
East
of 5
E
?
A
B
C
D
Yes No
Yes
YesNo
No
X
East
of 3
E
?
Yes
No
X
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
C
D
A
B
Y
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
C
D
Is the origin
North of 5
N
?
East
of 5
E
?
East
of 5
E
?
B
C
D
Yes No
Yes
YesNo
No
East
of 3
E
?
Yes
No
X
A
AX
B
ο
ο ο ο
Under which branch should
case Y be stored?
Is the origin
North of 5
N
?
East
of 5
E
?
East
of 5
E
?
B
C
D
Yes No
Yes
YesNo
No
East
of 3
E
?
Yes
No
Y
AX
Y
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
C
D
X
A
B
Under which branch should
case Y be stored?
Is the origin
North of 5
N
?
East
of 5
E
?
East
of 5
E
?
B
C
D
Yes No
Yes
YesNo
No
East
of 3
E
?
Yes
No
Y
East
of _
E
?
X
A
Y
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
C
D
X
A
Yes
No
B
Where should this branch
be divided for maximum
differentiation?
Is the origin
North of 5
N
?
East
of 5
E
?
East
of 5
E
?
B
C
D
Yes No
Yes
YesNo
No
East
of 3
E
?
Yes
No
Y
East
of 2
E
?
X
A
Y
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
C
D
X
A
Yes
No
B
Where should this branch
be divided for maximum
differentiation?
Is the destination
North of 5
N
?
East
of 5
E
?
East
of 5
E
?
D
A
Yes No
Yes
YesNo
No
Y
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
C
D
X
A
Z
B
B
East
of 9
E
?
Yes
No
D X Y
ο
ο
ο
ο
Under which branch will
case Z be stored?
Is the destination
North of 5
N
?
East
of 5
E
?
East
of 5
E
?
D
A
Yes No
Yes
Yes
No
No
Y
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
C
D
X
A
Z
B
B
East
of 9
E
?
Yes
No
D X Y
X
Under which branch will
case Z be stored?
Is the destination
North of 5
N
?
East
of 5
E
?
East
of 5
E
?
D
Yes No
Yes
No
Y
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
C
D
X
A
Z
B
East
of 9
E
?
Yes
No
D X Y
____
of _
_
?
A
Yes
No
BZ
Yes
No
Where should this branch
be divided for maximum
differentiation?
Is the destination
North of 5
N
?
East
of 5
E
?
East
of 5
E
?
D
Yes No
Yes
No
Y
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
C
D
X
A
Z
B
B
East
of 9
E
?
Yes
No
D X YZ
North
of 8
N
?
A
Yes
No
Yes
No
Where should this branch
be divided for maximum
differentiation?
X
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
C
D
A
B
Route Origin
X
Origin
Y
A 3
E
9
N
B 4
E
1
N
C 7
E
9
N
D 8
E
4
N
X
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
C
D
A
B
Route Origin
X
Origin
Y
A 3
E
9
N
B 4
E
1
N
C 7
E
9
N
D 8
E
4
N
X 4
E
6
N
Route Origin
X
Origin
Y
A 3
E
9
N
B 4
E
1
N
C 7
E
9
N
D 8
E
4
N
X 4
E
6
N
Y 1
E
9
N
Y
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
C
D
X
A
B
What tags should be used
for case Y?
Route
Destination
X
Destination
Y
A 10
E
8
N
B 1
E
8
N
C 10
E
4
N
D 2
E
1
N
X 8
E
2
N
Y 8
E
2
N
Z 1
E
9
N
Y
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
C
D
X
A
Z
B
What tags should be used
for case Z?
Retrieval
Adaptation
Retrieving a case
from memory
similar to the
current problem
Adapting the
solution to that case
to fit the current
problem
Evaluation
Evaluating how well
the adapted solution
addresses the
current problem
Storage
Storing the new
problem and
solution as a case
Route
Destination
X
Destination
Y
A 10
E
8
N
B 1
E
8
N
C 10
E
4
N
D 2
E
1
N
X 8
E
2
N
Y 8
E
2
N
Z 1
E
9
N
Is the origin
North of 5
N
?
East
of 5
E
?
East
of 5
E
?
B
C
D
Yes No
Yes
YesNo
No
East
of 3
E
?
Yes
No
Y
East
of 2
E
?
X
A
Yes
No
Is the origin
North of 5
N
?
East
of 5
E
?
East
of 5
E
?
B
C
D
Yes No
Yes
YesNo
No
East
of 3
E
?
Yes
No
Y
East
of 2
E
?
X
A
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
Yes
No
What case should be
retrieved and adapted?
ο
ο
ο
ο
ο
Is the origin
North of 5
N
?
East
of 5
E
?
East
of 5
E
?
B
C
D
Yes No
Yes
YesNo
No
East
of 3
E
?
Yes
No
Y
East
of 2
E
?
X
A
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
Yes
No
What case should be
retrieved and adapted?
ο
ο
ο
ο
ο
Y
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
Route
Destination
X
Destination
Y
A 10
E
8
N
B 1
E
8
N
C 10
E
4
N
D 2
E
1
N
X 8
E
2
N
Y 8
E
2
N
Z 1
E
9
N
ο
ο
ο
ο
ο
ο
What case should be
retrieved and adapted?
0
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10
E
0
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
N
10
N
Route
Destination
X
Destination
Y
A 10
E
8
N
B 1
E
8
N
C 10
E
4
N
D 2
E
1
N
X 8
E
2
N
Y 8
E
2
N
Z 1
E
9
N
ο
ο
ο
ο
ο
ο
What case should be
retrieved and adapted?
C
Retrieval
Adaptation
Evaluation
Storage
Retrieval
Adaptation
Evaluation
Storage
Evaluation found
the solution failed;
try adapting again
Retrieval
Adaptation
Evaluation
Storage
Evaluation found
the solution failed;
try retrieving a
different solution
Retrieval
Adaptation
Evaluation
Storage
The retrieved
solution could not
be adapted; retrieve
a different solution
Retrieval
Adaptation
Evaluation
Storage
Retrieved case
perfectly matches
current problem; no
adaptation needed
Assignment
How would you use case-based reasoning to design an
agent that could answer Raven’s Progressive Matrices?
To recap…
Case adaptation
Case evaluation
Case storage
Case retrieval revisited
Advanced case-based reasoning